package avicit.bdp.dgs.qa.dto;

import avicit.bdp.common.base.BaseDTO;
import avicit.platform6.core.annotation.log.FieldRemark;
import avicit.platform6.core.annotation.log.Id;
import avicit.platform6.core.annotation.log.LogField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.persistence.Column;
import javax.persistence.Table;
import javax.persistence.Transient;

/**
 * @金航数码科技有限责任公司
 * @作者：developer
 * @邮箱：developer@avic-digital.com
 * @创建时间： 2023-05-06
 * @类说明：JobResultDTO
 * @修改记录：
 * @注意事项：
 * @主要功能：质量作业执行结果DTO
 */
@ApiModel(value = "JobResultDTO", description = "质量作业执行结果DTO")
@Table(name = "bdp_dgs_qa_job_result")
public class JobResultDTO extends BaseDTO {
    /**
     * 主键
     */
    @Id
    @LogField
    @ApiModelProperty(value = "主键")
    @FieldRemark(column = "id", field = "id", name = "id")
    @javax.persistence.Id
    @Column(name = "id")
    private String id;

    /**
     * 任务名称
     */
    @LogField
    @ApiModelProperty(value = "任务名称")
    @FieldRemark(column = "jobName", field = "jobName", name = "任务名称")
    @Column(name = "job_name")
    private String jobName;

    /**
     * 作业ID
     */
    @LogField
    @ApiModelProperty(value = "作业ID")
    @FieldRemark(column = "jobId", field = "jobId", name = "作业ID")
    @Column(name = "job_id")
    private String jobId;

    /**
     * 流程实例ID
     */
    @LogField
    @ApiModelProperty(value = "流程实例ID")
    @FieldRemark(column = "processInstanceId", field = "processInstanceId", name = "流程实例ID")
    @Column(name = "process_instance_id")
    private String processInstanceId;

    /**
     * 校验字段
     */
    @LogField
    @ApiModelProperty(value = "校验字段")
    @FieldRemark(column = "checkField", field = "checkField", name = "校验字段")
    @Column(name = "check_field")
    private String checkField;

    /**
     * 校验表
     */
    @LogField
    @ApiModelProperty(value = "校验表")
    @FieldRemark(column = "checkTable", field = "checkTable", name = "校验表")
    @Column(name = "check_table")
    private String checkTable;

    /**
     * 质量规则ID
     */
    @LogField
    @ApiModelProperty(value = "质量规则ID")
    @FieldRemark(column = "ruleId", field = "ruleId", name = "质量规则ID")
    @Column(name = "rule_id")
    private String ruleId;


    /**
     * 质量规则名称
     */
    @LogField
    @ApiModelProperty(value = "质量规则名称")
    @FieldRemark(column = "rule_name", field = "ruleName", name = "质量规则名称")
    @Column(name = "rule_name")
    private String ruleName;

    /**
     * 模板ID
     */
    @LogField
    @ApiModelProperty(value = "模板ID")
    @FieldRemark(column = "template_id", field = "templateId", name = "模板ID")
    @Column(name = "template_id")
    private String templateId;

    /**
     * 模板名称
     */
    @LogField
    @ApiModelProperty(value = "模板名称")
    @FieldRemark(column = "template_name", field = "templateName", name = "模板名称")
    @Column(name = "template_name")
    private String templateName;

    /**
     * 模板类型
     */
    @LogField
    @ApiModelProperty(value = "模板类型，0:内置模板、1:自定义模板")
    @FieldRemark(column = "templateType", field = "templateType", name = "templateType")
    @Column(name = "template_type")
    private Integer templateType;

    /**
     * 规则权重
     */
    @LogField
    @ApiModelProperty(value = "规则权重")
    @FieldRemark(column = "weight", field = "weight", name = "规则权重")
    @Column(name = "weight")
    private Integer weight;

    /**
     * 规则权重占比
     */
    @LogField
    @ApiModelProperty(value = "规则权重占比")
    @FieldRemark(column = "weight_ratio", field = "weightRatio", name = "规则权重占比")
    @Column(name = "weight_ratio")
    private Double weightRatio;

    /**
     * 校验表达式
     */
    @LogField
    @ApiModelProperty(value = "校验表达式")
    @FieldRemark(column = "alarm_formula", field = "alarmFormula", name = "校验表达式")
    @Column(name = "alarm_formula")
    private String alarmFormula;

    /**
     * 统计数值类型
     */
    @LogField
    @ApiModelProperty(value = "统计数值类型，0:固定值、1:字段")
    @FieldRemark(column = "statDataType", field = "statDataType", name = "统计数值类型")
    @Column(name = "stat_data_type")
    private Integer statDataType;

    /**
     * 总行数
     */
    @LogField
    @ApiModelProperty(value = "总行数")
    @FieldRemark(column = "totalLineNum", field = "totalLineNum", name = "总行数")
    @Column(name = "total_line_num")
    private Integer totalLineNum;

    /**
     * 计算结果名称
     */
    @LogField
    @ApiModelProperty(value = "计算结果名称")
    @FieldRemark(column = "outputName", field = "outputName", name = "计算结果名称")
    @Column(name = "output_name")
    private String outputName;

    /**
     * 计算结果
     */
    @LogField
    @ApiModelProperty(value = "计算结果")
    @FieldRemark(column = "actualValue", field = "actualValue", name = "计算结果")
    @Column(name = "actual_value")
    private String actualValue;

    /**
     * 唯一标识
     */
    @LogField
    @ApiModelProperty(value = "唯一标识")
    @FieldRemark(column = "uniqueCode", field = "uniqueCode", name = "唯一标识")
    @Column(name = "unique_code")
    private String uniqueCode;

    /**
     * 表信息
     */
    @LogField
    @ApiModelProperty(value = "表信息")
    @FieldRemark(column = "tableInfo", field = "tableInfo", name = "表信息")
    @Column(name = "table_inifo")
    private String tableInfo;

    /**
     * 作业信息
     */
    @LogField
    @ApiModelProperty(value = "作业信息")
    @FieldRemark(column = "jobInfo", field = "jobInfo", name = "作业信息")
    @Column(name = "job_info")
    private String jobInfo;

    @Transient
    private String checkSucessFiles;

    @Transient
    private String checkFailFiles;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getJobName() {
        return jobName;
    }

    public void setJobName(String jobName) {
        this.jobName = jobName;
    }

    public String getJobId() {
        return jobId;
    }

    public void setJobId(String jobId) {
        this.jobId = jobId;
    }

    public String getProcessInstanceId() {
        return processInstanceId;
    }

    public void setProcessInstanceId(String processInstanceId) {
        this.processInstanceId = processInstanceId;
    }

    public String getCheckField() {
        return checkField;
    }

    public void setCheckField(String checkField) {
        this.checkField = checkField;
    }

    public String getCheckTable() {
        return checkTable;
    }

    public void setCheckTable(String checkTable) {
        this.checkTable = checkTable;
    }

    public String getRuleId() {
        return ruleId;
    }

    public void setRuleId(String ruleId) {
        this.ruleId = ruleId;
    }

    public String getRuleName() {
        return ruleName;
    }

    public void setRuleName(String ruleName) {
        this.ruleName = ruleName;
    }

    public String getTemplateId() {
        return templateId;
    }

    public void setTemplateId(String templateId) {
        this.templateId = templateId;
    }

    public String getTemplateName() {
        return templateName;
    }

    public void setTemplateName(String templateName) {
        this.templateName = templateName;
    }

    public Integer getTemplateType() {
        return templateType;
    }

    public void setTemplateType(Integer templateType) {
        this.templateType = templateType;
    }

    public Integer getWeight() {
        return weight;
    }

    public void setWeight(Integer weight) {
        this.weight = weight;
    }

    public Double getWeightRatio() {
        return weightRatio;
    }

    public void setWeightRatio(Double weightRatio) {
        this.weightRatio = weightRatio;
    }

    public String getAlarmFormula() {
        return alarmFormula;
    }

    public void setAlarmFormula(String alarmFormula) {
        this.alarmFormula = alarmFormula;
    }

    public Integer getStatDataType() {
        return statDataType;
    }

    public void setStatDataType(Integer statDataType) {
        this.statDataType = statDataType;
    }

    public Integer getTotalLineNum() {
        return totalLineNum;
    }

    public void setTotalLineNum(Integer totalLineNum) {
        this.totalLineNum = totalLineNum;
    }

    public String getOutputName() {
        return outputName;
    }

    public void setOutputName(String outputName) {
        this.outputName = outputName;
    }

    public String getActualValue() {
        return actualValue;
    }

    public void setActualValue(String actualValue) {
        this.actualValue = actualValue;
    }

    public String getUniqueCode() {
        return uniqueCode;
    }

    public void setUniqueCode(String uniqueCode) {
        this.uniqueCode = uniqueCode;
    }

    public String getTableInfo() {
        return tableInfo;
    }

    public void setTableInfo(String tableInfo) {
        this.tableInfo = tableInfo;
    }

    public String getJobInfo() {
        return jobInfo;
    }

    public void setJobInfo(String jobInfo) {
        this.jobInfo = jobInfo;
    }

    public String getCheckSucessFiles() {
        return checkSucessFiles;
    }

    public void setCheckSucessFiles(String checkSucessFiles) {
        this.checkSucessFiles = checkSucessFiles;
    }

    public String getCheckFailFiles() {
        return checkFailFiles;
    }

    public void setCheckFailFiles(String checkFailFiles) {
        this.checkFailFiles = checkFailFiles;
    }
}
